package ClassesBasicas;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.PrimaryKeyJoinColumn;
import javax.persistence.Table;

@Entity
@Table(name = "funcionario")
@PrimaryKeyJoinColumn(name = "codigo_pessoa")
@Inheritance(strategy = InheritanceType.JOINED)
public class Funcionario extends Pessoa implements ITipoPessoa{
	
	@Column(name = "matricula")
	private int matricula;
	
	private static int sequencial = 1;
	
	public Funcionario(){
		
	}
	
	public Funcionario(String nome, String cpf, Date dataNascimento,
			char sexo, Endereco endereco) {	
		setNome(nome);
		setCpf(cpf);
		setDataNascimento(dataNascimento);
		setSexo(sexo);		
		setEndereco(endereco);
		setMatricula();
	}
	
	public int getMatricula(){
		return matricula;
	}
	
	private void setMatricula(){
		this.matricula = EH_FUNCIONARIO + sequencial++;
	}

	

	
}
